Virtualization and virtual machines enable software emulation of hardware devices and components. Data of a virtual machine may be backed up to a backup storage. For example, data contents and configuration of an operating system and/or application running on a virtual machine may be stored as a backup to enable recovery of the virtual machine in the event the virtual machine fails and needs to be restored. Although the backed up data of the virtual machine may be used to restore the virtual machine, traditionally the restoration of the virtual machine requires a considerable amount of effort and time from a system administrator. Therefore, there exists a need for a more efficient and dynamic way to restore a virtual machine from a backup.